home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / BPNN133U.ZIP / NNDUMP.C < prev    next >
C/C++ Source or Header  |  1992-11-19  |  2KB  |  123 lines

  1. /*
  2. *-----------------------------------------------------------------------------
  3. *    file:    nndump.c
  4. *    desc:    dump structures in nntype.h
  5. *    by:    patrick ko
  6. *    date:    13 aug 1991
  7. *    revi:    v1.2b - 15 jan 1992, coefficient adaptation
  8. *        v1.3u - 18 jan 1992, revised data structures
  9. *-----------------------------------------------------------------------------
  10. */
  11. #include <stdio.h>
  12.  
  13. #include "nntype.h"
  14.  
  15. void    v_dump( fp, vp )
  16. FILE    *fp;
  17. VECTOR    *vp;
  18. {
  19.     INTEGER    i;
  20.  
  21.     for (i=0; i<DimVect(vp); i++)
  22.         {
  23.         fprintf( fp, "%f ", vp->vect[i] );
  24.         }
  25.  
  26.     fprintf( fp, "\n" );
  27. }
  28.  
  29. void    v_load( fp, vp )
  30. FILE    *fp;
  31. VECTOR    *vp;
  32. {
  33.     INTEGER    i;
  34.  
  35.     for (i=0; i<DimVect(vp); i++)
  36.         {
  37.         fscanf( fp, "%lf ", &vp->vect[i] );
  38.         }
  39. }
  40.  
  41. void    u_dumpweight( fp, unit )
  42. FILE    *fp;
  43. UNIT    *unit;
  44. {
  45.     v_dump( fp, vWeight(unit) );
  46.     fprintf(fp, "%f \n", Bias(unit));
  47. }
  48.  
  49. void    u_loadweight( fp, unit )
  50. FILE    *fp;
  51. UNIT    *unit;
  52. {
  53.     v_load( fp, vWeight(unit) );
  54.     fscanf(fp, "%lf \n", &Bias(unit));
  55. }
  56.  
  57. void    l_dump( fp, ly )
  58. FILE    *fp;
  59. LAYER    *ly;
  60. {
  61.     INTEGER    i;
  62.  
  63.     for (i=0; i<DimLayer(ly); i++)
  64.         {
  65.         u_dumpweight( fp, Unit(ly,i) );
  66.         }
  67. }
  68.  
  69. void    l_load( fp, ly )
  70. FILE    *fp;
  71. LAYER    *ly;
  72. {
  73.     INTEGER    i;
  74.  
  75.     for (i=0; i<DimLayer(ly); i++)
  76.         {
  77.         u_loadweight( fp, Unit(ly,i) );
  78.         }
  79. }
  80.  
  81. void    nn_dump( fp, nn )
  82. FILE    *fp;
  83. NET    *nn;
  84. {
  85.     INTEGER    i;
  86.  
  87.  
  88.     for (i=0; i<DimNet(nn); i++)
  89.         {
  90.         l_dump( fp, Layer(nn,i) );
  91.         }
  92. }
  93.  
  94. void    nn_load( fp, nn )
  95. FILE    *fp;
  96. NET    *nn;
  97. {
  98.     INTEGER    i;
  99.  
  100.     for (i=0; i<DimNet(nn); i++)
  101.         {
  102.         l_load( fp, Layer(nn,i) );
  103.         }
  104. }
  105.  
  106. void    nn_dumpout( fp, nn )
  107. FILE    *fp;
  108. NET    *nn;
  109. {
  110.     INTEGER    i, j;
  111.     LAYER    *I;
  112.     UNIT    *J;
  113.  
  114.     I = Layer(nn,DimNet(nn)-1);
  115.  
  116.     for (j=0; j<DimLayer(I); j++)
  117.         {
  118.         J = Unit(I,j);
  119.         fprintf( fp, "%f ", Out(J) );
  120.         }
  121.     fprintf( fp, "\n" );
  122. }
  123.